package cl.solidit.geomanagement.web.service;

import java.util.Date;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cl.solidit.geomanagement.persistance.ComunaDAO;
import cl.solidit.geomanagement.persistance.PersonaDAO;
import cl.solidit.geomanagement.persistance.PropiedadDAO;
import cl.solidit.geomanagement.persistance.model.EstadoPropiedad;
import cl.solidit.geomanagement.persistance.model.Propiedad;


@Service
public class RegisterPropertyService {
	
	@Autowired
	private PersonaDAO personaDAO;
	@Autowired
	private PropiedadDAO propiedadDAO;
	@Autowired
	private ComunaDAO comunaDAO;
	
	
	public Propiedad registrarPropiedad(Propiedad propiedad){
			
		if (propiedad.getNumero() == null)
			propiedad.setNumero(propiedad.getId());
		if (propiedad.getAmoblada() == null)
			propiedad.setAmoblada(false);
		if (propiedad.getEstado() == null)
			propiedad.setEstado(new EstadoPropiedad(1));
		if (propiedad.getEstado().getId() == 2)
			propiedad.setDisponible(false);
		if (propiedad.getEstado().getId() == 3)
			propiedad.setDisponible(false);
		if (propiedad.getEstado().getId() == 4)
			propiedad.setDisponible(false);
		if (propiedad.getPercepcion() == null)
			propiedad.setPercepcion(1);
		if (propiedad.getDisponible() == null)
			propiedad.setDisponible(true);
		if (propiedad.getNegocioExterno() == null)
			propiedad.setNegocioExterno(false);
		if (propiedad.getOfertada() == null)
			propiedad.setOfertada(false);
		propiedad.setPercepcion(1);
		propiedad.setFechaIngreso(new Date());
		propiedad.getComuna().setId((comunaDAO.idComunaFromNombre(propiedad.getComuna().getNombre()).getId()));
		propiedad.setPropietario(personaDAO.findByRut(propiedad
				.getPropietario().getRut()));
//		propiedad.setCaptador(personaDAO.consultarPersona(propiedad
//				.getCaptador().getRut()));
		propiedadDAO.createProperty(propiedad);
		return propiedad;
		
	}
	
}
